package com.tanhua.dubbo.api;

import com.tanhua.model.mongo.Movement;
import com.tanhua.model.vo.PageResult;

import java.util.List;

public interface MovementApi {

    /**
     * 发布动态
     */
    String publish(Movement movement);

    PageResult findByUserId(Long userId, Integer page, Integer pagesize);

    /**
     * 根据用户id，查询好友动态
     * @param page
     * @param pagesize
     * @param userId
     * @return
     */
    List<Movement> findFriendMovements(Integer page, Integer pagesize, Long userId);

    /**
     * 根据pid数组查询动态
     * @param pids
     * @return
     */
    List<Movement> findMovementsByPids(List<Long> pids);

    /**
     * 随机获取多条动态数据
     * @param counts
     * @return
     */
    List<Movement> randomMovements(Integer counts);

    /**
     * 根据id查询单条动态
     * @param movementId
     * @return
     */
    Movement findById(String movementId);
    /**
     * 根据用户ID分页查询用户发布的动态列表
     */
    PageResult findByUserId(Long uid, Integer state, Integer page, Integer pagesize);

    /**
     * 更新动态 状态
     * @param movementId
     * @param state
     */
    void update(String movementId, int state);
}